#include<bits/stdc++.h>
#define ll long long
#define pr printf
#define sc scanf
using namespace std;
typedef struct mooncake{
	double w;
	double v;
	double ans;
}mc;
mc a[1005];
bool cmp(mc a,mc b)
{
	return a.ans>b.ans;
}
int main()
{
	int n,i;
	double m,sum=0;
	sc("%d%lf",&n,&m);getchar();
	for(i=0;i<n;i++)
		sc("%lf",&a[i].w);
	for(i=0;i<n;i++){
		sc("%lf",&a[i].v);
		a[i].ans=a[i].v/a[i].w;
	}
	sort(a,a+n,cmp);
	for(i=0;i<n;i++){
		if(m>=a[i].w){
			sum+=a[i].v;
			m-=a[i].w;
		}
		else{
			sum+=a[i].ans*m;
			break;
		}
	}
	pr("%.2lf\n",sum);
	return 0;
}
